home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / util / misc / ndex.lha / N-Dex next >
AmigaDOS Script File  |  1997-04-17  |  3KB  |  118 lines

  1. .key DIR
  2. .bra [
  3. .ket ]
  4. .def DIR ""
  5.  
  6. FailAt 21
  7. Echo >ENV:NDVersion "N-Dex v1.1   © FairWare 1997"
  8.  
  9. ; See if we have a directory to work on, and if not, get one
  10.  
  11. If "[DIR] A" EQ " A"
  12.  
  13.    ; There was no parameter passed ...
  14.    RequestFile >Env:NDTheDir SYS: TITLE="Pick a directory" POSITIVE="This one" DRAWERSONLY
  15.    Echo $NDTheDir >ENV:NDGuideDir
  16.    Delete >NIL: ENV:NDTheDir QUIET
  17.  
  18. Else
  19.  
  20.    Echo >ENV:NDGuideDir "[DIR]"
  21.  
  22. EndIf
  23.  
  24. ; Make sure the specified path is not a file
  25.  
  26. If "$NDGuideDir A" NOT EQ " A"
  27.  
  28.    CD >ENV:NDOldDir
  29.    CD "$NDGuideDir" >NIL:
  30.    If ERROR
  31.  
  32.       RequestChoice >NIL: "$NDVersion" "$NDGuideDir*nis not a valid directory!" "Oooops!"
  33.  
  34.    Else
  35.  
  36. ; Check for and take into account an already existing Index.Guide file
  37.  
  38.       LAB CheckExists
  39.       If Exists Index.Guide
  40.  
  41.          List >ENV:NDExDate Index.Guide LFORMAT "%d %t"
  42.          RequestChoice >Env:NDExists "$NDVersion" "$NDGuideDir*nalready contains an Index.Guide*ndated $NDExDate!*nWhat should I do with it?" "Update it|View it|Quit"
  43.          Delete >NIL: ENV:NDExDate QUIET
  44.          If $NDExists EQ "1"    ; Update it
  45.  
  46.             Delete >NIL: Index.Guide QUIET FORCE
  47.             Skip CheckExists BACK
  48.  
  49.          Else
  50.  
  51.             If $NDExists EQ "2" ; View it
  52.  
  53.                MultiView Index.Guide
  54.                Skip CheckExists BACK
  55.  
  56.             EndIf
  57.  
  58.          EndIf
  59.  
  60.       Else
  61.  
  62. ; Set up the start of the new guide file
  63.  
  64.          Echo >Index.Guide "@DataBase*n@Author *"$NDVersion*"*n@Node Main *"Index of $NDGuideDir*"*n*n          Files in @{b}$NDGuideDir@{ub} on @{b}" NOLINE
  65.          Echo >ENV:NDDate "`Date`" LEN=18
  66.          Echo >>Index.Guide "$NDDate" FIRST=1 LEN=9 NOLINE
  67.          Echo >>Index.Guide "@{ub}*n"
  68.          Delete >NIL: ENV:NDDate QUIET
  69.  
  70. ; Decide whether .info files are required
  71.  
  72.          RequestChoice >ENV:NDIcons "$NDVersion" "Should I include icons?" "Yes|No"
  73.          If $NDIcons EQ "0"      ; No Icons
  74.  
  75.             Echo >ENV:NDExclude "~(#?.info|Index.Guide)"
  76.  
  77.          Else                    ; Icons required
  78.  
  79.             Echo >ENV:NDExclude "~(Index.Guide)"
  80.  
  81.          EndIf
  82.          Delete >NIL: ENV:NDIcons QUIET
  83.  
  84. ; Decide if we should scan recursively down the directory tree
  85.  
  86.          RequestChoice >ENV:NDRecursive "$NDVersion" "Should I scan sub-directories?" "Yes|No"
  87.          If $NDRecursive EQ "1"     ; They said Yes
  88.  
  89.             Echo >ENV:NDOptions "ALL FILES SORT N"
  90.  
  91.          Else                       ; They said No
  92.  
  93.             Echo >ENV:NDOptions "FILES SORT N"
  94.  
  95.          EndIf
  96.          Delete >NIL: ENV:NDRecursive QUIET
  97.  
  98. ; List the required files to the guide file, and finish off
  99.  
  100.          List >>Index.Guide $NDExclude LFORMAT "                  @{*"%s%s*" LINK *"%f%s/main*" 0}" $NDOptions
  101.          Delete >NIL: ENV:NDExclude QUIET
  102.          Delete >NIL: ENV:NDOptions QUIET
  103.  
  104.          Echo >>Index.Guide "@endnode"
  105.          RequestChoice >NIL: "$NDVersion" "Index.Guide created for*n$NDGuideDir" "Thanks!"
  106.  
  107.       Endif
  108.       Delete >NIL: ENV:NDExists QUIET
  109.  
  110.    EndIf
  111.    CD "$NDOldDir"
  112.    Delete >NIL: ENV:NDOldDir QUIET
  113.  
  114. EndIf
  115. Delete >NIL: ENV:NDGuideDir QUIET
  116. Delete >NIL: ENV:NDVersion QUIET
  117. ;$VER: N-Dex v1.1 (17/4/97)
  118.